package com.ncu702.backend.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.github.pagehelper.PageInfo;
import com.ncu702.backend.model.dto.user.UserVo;
import com.ncu702.backend.model.entity.Comment;
import com.ncu702.backend.model.entity.User;
import com.ncu702.backend.model.vo.LoginUserVO;
import com.ncu702.backend.model.vo.UserToken;

public interface UserService extends IService<User> {

    /**
     * 鉴权发送请求鉴权
     */
    boolean authentication(String jwtToken);

    /**
     * 用户注册
     */
    long userRegister(String userAccount,String userPassword,String checkPassword );

    /**
     * 根据 用户名查询信息
     * @return
     */
    LoginUserVO userLogin(String userAccount, String userPassword);
    /**
     * 获取脱敏的已登录用户信息
     *
     * @return
     */
    LoginUserVO getLoginUserVO(UserToken userToken);

    /**
     * 用户上传图像
     */
    int UploadPicture(long uid,String filePath);
    /**
     * 根据用户uid 查询信息到资料
     */
    User UserByUid(long uid);

    /**
     * 根据用户uid，修改用户的信息，只能修改用户名和简介
     */
    int updateInfoByUid(long uid,User user);

    /*
    查询出所有用户，没有被删的
     */
    PageInfo<User> getAllUser(Integer pageNum, Integer pageSize);

    /*
    根据id删用户
     */
    Integer DeleteUserByUid(Long uid);


    /*
    修改用户的role
     */
    Integer RoleUserByUid(Long uid, Integer op);

    /*
    修改密码
     */
    Integer updatePass(long uid,String pass);

}
